package java3;

import java.util.*;

public class Q2 {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		Persons[] persons = new Persons[n];
		for (int i = 0; i < persons.length; i++) {
			String name = in.next();
			int age = in.nextInt();
			boolean gender = in.nextBoolean();
			persons[i] = new Persons(name, gender, age);
		}
		for (int j = persons.length-1; j >= 0; j--) {
			System.out.println(persons[j]);
		}
		System.out.println(new Persons());
		
	}
}
class Persons {
	private String name;
	private boolean gender;
	private int age;
	private int id;
	private static int n;

	public Persons() {
		
		System.out.println("This is constructor");
		System.out.println(name + "," + age + "," + gender + "," + id);
	}
	static{
		System.out.println("This is static initialization block");
	}
	
	{
		id=n++;
		System.out.println("This is initialization block, id is " + id);
	}
	
	public Persons(String name, boolean gender, int age) {
		this.name = name;
		this.gender = gender;
		this.age = age;
	}

	public String toString() {
		return String.format("Person [name=%s, age=%d, gender=%s, id=%d]", name, age, gender, id);
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public boolean getGender() {
		return gender;
	}

	public void setGender(boolean gender) {
		this.gender = gender;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

}
